package request

import (
	"github.com/astaxie/beego/validation"
	"shop-common/utils"
	"strings"
)

type CategoryRequest struct {
	CategoryId   uint   `json:"categoryId"`                            //分类Id
	CategoryName string `json:"categoryName" binding:"required"`       //分类名称 必填
	ParentId     uint   `json:"parentId"`                              //父Id
	AttIds       string `json:"attIds"`                                //图片ID集合
	Pic          string `json:"pic"`                                   //封面图片文件名
	Seq          int    `json:"seq"`                                   //排序
	Status       int    `json:"status" binding:"required" default:"2"` //状态 2 正常状态 1 下线状态 必填
	FileId       uint   `json:"fileId" form:"fileId"`                  //封面图片Id
	Type         int    `json:"type" default:"1"`                      //类型ID | 类型，1 产品分类，2 附件分类
}

func (c *CategoryRequest) Valid(v *validation.Validation) {
	if c.CategoryName == "" {
		v.SetError("CategoryName", "分类名称不能为空")
	} else if !utils.IntIncludes([]int{1, 2}, c.Status) {
		v.SetError("Status", "状态不合法")
	} else if !utils.IntIncludes([]int{1, 2}, c.Type) {
		v.SetError("Type", "类型不合法")
	} else if len(strings.Split(c.AttIds, ",")) >= 2 {
		v.SetError("AttIds", "最多只能上传一张图片")
	}
}
